import Data.List

perms :: (Ord a) => [a]->[[a]]
perms [] = [[]]
perms xs = [(x:p) | x <- xs, p <- perms (xs \\ [x])]

subconjuntos :: [a] -> [[a]]
subconjuntos [] = [[]]
subconjuntos (x:xs) = (subconjuntos xs) ++ (map (x:) (subconjuntos xs))
